package com.tgpms.web.assets.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import com.tgpms.web.assets.entity.FaRepair;
import com.tgpms.web.assets.entity.FaRepairKey;
import com.tgpms.util.PageView;
/**
* 表FA_REPAIR -> D8002固定资产大修改造 的基本功能实现
*
* @author newway
* @createDate 2019/08/12
*/
public interface FaRepairMapper {

    String selectMaxFaRepairNo();

    String selectMaxWorkNo(String faRepairNo);

    List<FaRepair> selectByFaRepairNo(@Param("pageView") PageView pageView);

    List<FaRepair> queryByCondition(@Param("pageView") PageView pageView);
    /**
     * D8002固定资产大修改造  deleteByPrimaryKey 实现
     * 
     * @param key
     * @return null int
     * @author: newway
     * @createDate: 2019-08-12 10:00:25
     */
    int deleteByPrimaryKey(FaRepairKey key);

    /**
     * D8002固定资产大修改造  insert 实现
     * 
     * @param record
     * @return null int
     * @author: newway
     * @createDate: 2019-08-12 10:00:25
     */
    int insert(FaRepair record);

    /**
     * D8002固定资产大修改造  insertSelective 实现
     * 
     * @param record
     * @return null int
     * @author: newway
     * @createDate: 2019-08-12 10:00:25
     */
    int insertSelective(FaRepair record);

    /**
     * D8002固定资产大修改造  selectByPrimaryKey 实现
     * 
     * @param key
     * @return null com.tgpms.web.assets.entity.FaRepair
     * @author: newway
     * @createDate: 2019-08-12 10:00:25
     */
    FaRepair selectByPrimaryKey(FaRepairKey key);

    /**
     * D8002固定资产大修改造  updateByPrimaryKeySelective 实现
     * 
     * @param record
     * @return null int
     * @author: newway
     * @createDate: 2019-08-12 10:00:25
     */
    int updateByPrimaryKeySelective(FaRepair record);

    /**
     * D8002固定资产大修改造  updateByPrimaryKey 实现
     * 
     * @param record
     * @return null int
     * @author: newway
     * @createDate: 2019-08-12 10:00:25
     */
    int updateByPrimaryKey(FaRepair record);
    
    //查询最大改造序号
    @Select("select MAX(FA_REPAIR_NO) as faRepairNo from FA_REPAIR where FIXED_ASSET_NO like '${fixedAssetNo}%'")
    String getFaRepairNo(@Param("fixedAssetNo")String fixedAssetNo);
    
    //通过资产编号查询固定资产大修改造信息
    @Select("select * from FA_REPAIR where FIXED_ASSET_NO = #{fixedAssetNo}")
    List<FaRepair> selFaRepairByFixedAssetNo(@Param("fixedAssetNo")String fixedAssetNo);
}